home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Prog / T / Think-Pascal-7.0.cpt / THINK Pascal Interfaces / Power.p < prev    next >
Encoding:
Text File  |  1991-04-03  |  2.3 KB  |  129 lines  |  [TEXT/PJMM]

  1. {    This file has been processed by The THINK Pascal Source Converter, v1.1.    }
  2.  
  3. {
  4. Created: Sunday, January 6, 1991 at 10:54 PM
  5.     Power.p
  6.     Pascal Interface to the Macintosh Libraries
  7.  
  8.         Copyright Apple Computer, Inc.    1989-1990
  9.         All rights reserved
  10. }
  11.  
  12.  
  13. {$IFC UNDEFINED UsingIncludes}
  14. {$SETC UsingIncludes := 0}
  15. {$ENDC}
  16.  
  17.  
  18.     UNIT Power;
  19.     INTERFACE USES    Types;
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. CONST
  34.  
  35. { Bit positions for ModemByte }
  36. modemOnBit = 0;
  37. ringWakeUpBit = 2;
  38. modemInstalledBit = 3;
  39. ringDetectBit = 4;
  40. modemOnHookBit = 5;
  41.  
  42. { masks for ModemByte }
  43. modemOnMask = $1;
  44. ringWakeUpMask = $4;
  45. modemInstalledMask = $8;
  46. ringDetectMask = $10;
  47. modemOnHookMask = $20;
  48.  
  49. { bit positions for BatteryByte }
  50. chargerConnBit = 0;
  51. hiChargeBit = 1;
  52. chargeOverFlowBit = 2;
  53. batteryDeadBit = 3;
  54. batteryLowBit = 4;
  55. connChangedBit = 5;
  56.  
  57. { masks for BatteryByte }
  58. chargerConnMask = $1;
  59. hiChargeMask = $2;
  60. chargeOverFlowMask = $4;
  61. batteryDeadMask = $8;
  62. batteryLowMask = $10;
  63. connChangedMask = $20;
  64.  
  65. { commands to SleepQRec sleepQProc }
  66. sleepRequest = 1;
  67. sleepDemand = 2;
  68. sleepWakeUp = 3;
  69. sleepRevoke = 4;
  70.  
  71. { SleepQRec.sleepQFlags }
  72. noCalls = 1;
  73. noRequest = 2;
  74.  
  75. slpQType = 16;
  76. sleepQType = 16;
  77.  
  78. TYPE
  79. ModemByte = Byte; 
  80. BatteryByte = Byte; 
  81.  
  82. PMResultCode = LONGINT;
  83.  
  84. SleepQRecPtr = ^SleepQRec;
  85. SleepQRec = RECORD
  86.     sleepQLink: SleepQRecPtr;
  87.     sleepQType: INTEGER;    {type = 16}
  88.     sleepQProc: ProcPtr;    {Pointer to sleep routine}
  89.     sleepQFlags: INTEGER;
  90.     END;
  91.  
  92.  
  93. FUNCTION DisableWUTime: OSErr;
  94. FUNCTION GetWUTime(VAR WUTime: LONGINT;VAR WUFlag: Byte): OSErr;
  95. FUNCTION SetWUTime(WUTime: LONGINT): OSErr;
  96. FUNCTION BatteryStatus(VAR Status: Byte;VAR Power: Byte): OSErr;
  97. FUNCTION ModemStatus(VAR Status: Byte): OSErr;
  98. FUNCTION IdleUpdate: LONGINT;
  99.     INLINE $A285,$2E80;
  100. FUNCTION GetCPUSpeed: LONGINT;
  101.     INLINE $70FF,$A485,$2E80;
  102. PROCEDURE EnableIdle;
  103.     INLINE $7000,$A485;
  104. PROCEDURE DisableIdle;
  105.     INLINE $7001,$A485;
  106. PROCEDURE SleepQInstall(qRecPtr: SleepQRecPtr);
  107.     INLINE $205F,$A28A;
  108. PROCEDURE SleepQRemove(qRecPtr: SleepQRecPtr);
  109.     INLINE $205F,$A48A;
  110. PROCEDURE AOn;
  111.     INLINE $7004,$A685;
  112. PROCEDURE AOnIgnoreModem;
  113.     INLINE $7005,$A685;
  114. PROCEDURE BOn;
  115.     INLINE $7000,$A685;
  116. PROCEDURE AOff;
  117.     INLINE $7084,$A685;
  118. PROCEDURE BOff;
  119.     INLINE $7080,$A685;
  120.  
  121.  
  122.     { UsingPower }
  123.  
  124.  
  125.     IMPLEMENTATION
  126. END.
  127.  
  128.  
  129.